package com.cskaoyan.wordmemorize.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cskaoyan.wordmemorize.dao.entity.GoodsDO;
import com.cskaoyan.wordmemorize.dto.admin.DeleteGoodsOperateDTO;
import com.cskaoyan.wordmemorize.dto.admin.GoodsDTO;
import com.cskaoyan.wordmemorize.dto.admin.PageDTO;
import com.cskaoyan.wordmemorize.request.*;

import java.util.List;

public interface GoodsService extends IService<GoodsDO> {

    // 分页获取商品信息(后台商品管理)
    PageDTO<GoodsDTO> getGoodsPage(GoodsPageRequest request);

    // 添加商品(后台商品管理)
    void addGoods(GoodsCommand command);

    //加入type后的新增方法
    void addGoods(GoodsCommandNew_whh command);

    // 更新商品(后台商品管理)
    void updateGoods(GoodsCommand command);

    //加入type后的新增方法
    void updateGoods(GoodsCommandNew_whh command);
    // 删除商品(后台商品管理)
    DeleteGoodsOperateDTO deleteGoods(Long goodsId);

    // 批量删除指定商品(后台商品管理)
    List<DeleteGoodsOperateDTO> deleteGoodsSelected(BatchDeleteCommand command);
    // 更新商品上下架状态(后台商品管理)
    void updateGoodsStatus(Long goodsId, Integer status);
}
